import re

import jieba

###


pattern_sign = re.compile(r'^【.+?】')
pattern_url = re.compile(r"(https?://)([a-z0-9\-]+\.)+[a-z0-9\-]+(/[a-z0-9\-\./\?\%\&\=]*)?")
pattern_num = re.compile(r"\d+")
stopwords_set = set()
basedir = ""

# 停用词文件
with open(basedir + 'stop_text.txt', 'r', encoding='utf-8') as infile:
    for line in infile:
        stopwords_set.add(line.strip())


# label_data = pd.read_table(basedir + 'template_label.txt', header=None, error_bad_lines=False,skiprows=1)
# label_data.columns = ['id', 'class']
# print(label_data)
#
# train_data = pd.read_csv(basedir + r'E:\号码优化\all_content_100W.csv', header=None, error_bad_lines=False,skiprows=1)
# train_data.columns = ['id', 'text']
# print(train_data)
# train_data = pd.merge(train_data, label_data, on='id', how='outer')

def computereplacement(matchobj):
    print(matchobj)
    # You can vary the replacement text for each match on-the-fly
    return r"asdf \1,\2,\4,\5"


def participle(rowstr):
    rowstr = rowstr.replace("\t", "").replace("\n", "")
    # print(rowstr)
    #
    # reobj = re.compile(r"(https?://)?(([a-z0-9\-]+\.)+[a-z0-9\-]+(:[0-9]+)?)(/[a-z0-9\-\./\?\%\&\=]*)?",
    #                    re.IGNORECASE | re.MULTILINE)
    # result = re.sub(reobj,computereplacement, rowstr)
    # print(result)

    # 结巴分词
    # rowstr = pattern_sign.sub("", rowstr)  # 替换掉签名
    # rowstr = pattern_url.sub("", rowstr)  # 替换掉URL
    # rowstr = pattern_num.sub("", rowstr)  # 替换掉所有数字

    '''
    替换掉URL，收集起来
    再分词，还原URL
    再册除掉全数字（可能是验证码,时间之类,号码的，）
    '''
    outline_list = [word for word in jieba.cut(rowstr) if word.isspace() == False]  # 去掉空格
    # print(outline_list)

    outline_list = [item for item in outline_list if item not in stopwords_set]  # 去除停用词
    outline_list = [item for item in outline_list if not re.match(pattern_num, item)]  # 分词后全数字的去掉
    return outline_list
    # outline = " ".join(outline_list)
    # print(outline)
    # return outline


if __name__ == '__main__':
    # rowstr = "【厦门弘爱康复医院】您好,今天有新入院患者吕永川,性别:男  ,年龄:86岁,病区:康复医学科病区3,床位:27床,住院号:001383R,R001383临床诊断:https://zhidao.baidu.com/question/683899398204179132.html脱髓鞘病。医嘱明细:作业治疗室:运动疗法"
    # rowstr = "（1）【***】请确认:南女士，1231232恭喜您被成都市选中有机会免单收件华为P30!次日作废，请及时查收y4n.cn/QWGVAmU回DT退订"
    rowstr = "由于您⁣常⁣看⁣料⁣音，85261955126，+这个威，请⁣您⁣给⁣料⁣音⁣帮⁣忙⁣上⁣赞⁣，俩⁣钟⁣头⁣7O至6OO"
    rowstr2 = "【取件码】亲，有空帮我新店刷好坪吗?一单25-45结算佣金多劳多得。详+微:199二2565了解"
    rowstr = ",¶«ŏ҇ϱ¹¤ ¾«ƷΆ¼򣬹¤ זǫȫ£¬¸ێ»¿ɹ©ѡձ¡£1˰º󹥗Ƞ2-4βԪ/Ղ¸󝹤ط±£¬O°弡Ԑн;¹Ζ󸺷Ѹ󉌒½±£Е£¬2 ¡¢¹¤طʱ¼⻃¿ͬ¹¤ط 8 - 10 Сʱ£¬˫ͥ»򵦐ݣ¬¼ӰႭ¼Ĩ°´µ±µط¨É·¨¹疧¸¶)£¬3¡¢¹¤طʱ¼唃²ͺΗ¡̞¹Ζ󴐵££¬ 4¡¢ÿŪԐ´𾅪¼٣¬ι·µ»򱺍׷³е£:5¡¢¹Ζ𐮖񭁭¹¤طǩ֤º;ԁ񑭿ʖ¤:½󐞹̶¨¹Ζ󣬹«˾ʵfћº񣬶຺¼ӓкЗ󣬰첻³ɷғĈ«¶»¹"
    rowstr = "车辆被禁止高架通行、高速公路etc卡失效、营业执照状态异常"
    rowstr = '''尊敬的用户:您的工行
            积分已满足现金兑换条
            件,详情请登入
            www.v95588.Cc网
            站,感谢您对我行的支
            持。
            [工商银行]
            '''
    # 您好 新 入院 患者 吕 永川 性别 男 年龄 86 岁 病区 康复 医学科 病区 床位 27 床 住院 号 001383R 临床 诊断 脱髓鞘 病 医嘱 明细 作业 治疗室 运动 疗法

    sign = pattern_sign.findall(rowstr2)  # 替换掉签名
    print(sign)
    search = pattern_sign.search(rowstr)
    print(search)
    sign = search.group() if search else ""
    print(sign)
    print(participle(rowstr))
